
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;

import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

public class ecommerce {
	private String intIDproducto;
	private String intIDecommerce;
	private String strsku;
	private String strnombre;	
	private String strdescripcion;
	private String strprecio;
	private String mensajeBean;
	private LinkedList<String> listaIdProductos=new LinkedList<String>();
	
	/**
	 * @return the strsku
	 */
	public String getStrsku() {
		return strsku;
	}

	/**
	 * @param strsku the strsku to set
	 */
	public void setStrsku(String strsku) {
		this.strsku = strsku;
	}
	
	/**
	 * @return the intIDproducto
	 */
	public String getIntIDproducto() {
		return intIDproducto;
	}

	/**
	 * @param intIDproducto the intIDproducto to set
	 */
	public void setIntIDproducto(String intIDproducto) {
		this.intIDproducto = intIDproducto;
	}

	/**
	 * @return the strnombre
	 */
	public String getStrnombre() {
		return strnombre;
	}

	/**
	 * @param strnombre the strnombre to set
	 */
	public void setStrnombre(String strnombre) {
		this.strnombre = strnombre;
	}

	/**
	 * @return the strdescripcion
	 */
	public String getStrdescripcion() {
		return strdescripcion;
	}

	/**
	 * @param strdescripcion the strdescripcion to set
	 */
	public void setStrdescripcion(String strdescripcion) {
		this.strdescripcion = strdescripcion;
	}

	/**
	 * @return the strprecio
	 */
	public String getStrprecio() {
		return strprecio;
	}

	/**
	 * @param strprecio the strprecio to set
	 */
	public void setStrprecio(String strprecio) {
		this.strprecio = strprecio;
	}

	/**
	 * @return the mensajeBean
	 */
	public String getMensajeBean() {
		return mensajeBean;
	}

	/**
	 * @param mensajeBean the mensajeBean to set
	 */
	public void setMensajeBean(String mensajeBean) {
		this.mensajeBean = mensajeBean;
	}
	public Result getResultproductos(){
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			ResultSet tabla = instruccion.executeQuery("select * from producto");
			return (ResultSupport.toResult(tabla));
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			return null;
		}
	public String agregarCarretilla(){
		
		
		try {
			try {
				//Cargar clase de controlador de base de datos
				Class.forName("com.mysql.jdbc.Driver");
				//Crear el objeto de conexion a la base de datos
				Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
				//Crear objeto Statement para realizar queries a la base de datos
				Statement instruccion = conexion.createStatement();
				//Un objeto ResultSet, almacena los datos de resultados de una consulta
				instruccion.executeUpdate("insert into ecommerce values(null, '"+this.intIDproducto+"',0,'no')");
				mensajeBean = "Usuario creado exitosamente";
				return "creado";
				}
				catch(ClassNotFoundException e){ System.out.println(e); }
				catch(SQLException e){ System.out.println(e); }
				catch(Exception e){ System.out.println(e); }
				
				return "creado";
			}
			catch(Exception e){ System.out.println(e); }
			
			return "error";
	}
	
	public Result getRetornarCarretilla(){
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			ResultSet tabla = instruccion.executeQuery("select pr.*, ec.contable from (select IDproducto,COUNT(*) as contable from ecommerce where comprado='no' group by IDproducto) as ec, producto as pr where pr.idproducto=ec.idproducto");
			return (ResultSupport.toResult(tabla));
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			return null;
	}
	
	public String quitarCarretilla(){
		
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			instruccion.executeUpdate("update ecommerce set comprado='cancelado' where iDproducto='"+this.intIDproducto+"'");
			System.out.println("update ecommerce set comprado='cancelado' where iDproducto='"+this.intIDproducto+"'");
			mensajeBean = "Usuario modificado exitosamente";
			return "modificado";
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			
			return "error";
	}
	public String aceptar(){
		
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			instruccion.executeUpdate("update ecommerce set comprado='si'");
			mensajeBean = "Usuario modificado exitosamente";
			return "modificado";
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			
			return "error";
	}
	public String cancelar(){
		
		try {
			//Cargar clase de controlador de base de datos
			Class.forName("com.mysql.jdbc.Driver");
			//Crear el objeto de conexion a la base de datos
			Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdayd2","diego","diego");
			//Crear objeto Statement para realizar queries a la base de datos
			Statement instruccion = conexion.createStatement();
			//Un objeto ResultSet, almacena los datos de resultados de una consulta
			instruccion.executeUpdate("update ecommerce set comprado='cancelado'");
			mensajeBean = "Usuario modificado exitosamente";
			return "modificado";
			}
			catch(ClassNotFoundException e){ System.out.println(e); }
			catch(SQLException e){ System.out.println(e); }
			catch(Exception e){ System.out.println(e); }
			
			return "error";
	}
	/**
	 * @return the intIDusuario
	 */
	public String getintIDecommerce() {
		return  intIDecommerce;
	}

	/**
	 * @param intIDusuario the intIDusuario to set
	 */
	public void setintIDecommerce(String  intIDecommerce) {
		this.intIDecommerce=  intIDecommerce;
	}

	/**
	 * @return the listaIdProductos
	 */
	public LinkedList<String> getListaIdProductos() {
		return listaIdProductos;
	}

	/**
	 * @param listaIdProductos the listaIdProductos to set
	 */
	public void setListaIdProductos(LinkedList<String> listaIdProductos) {
		this.listaIdProductos = listaIdProductos;
	}



}
